// 对axios进行次封装
import axios from 'axios'
import { NavBar, Space, Toast } from 'antd-mobile'
import history from './history'

let props = "";

var service = axios.create({
    // baseURL: '/api',//基准路径
    baseURL: process.env.REACT_APP_BASE_URL, //基准路径, 公共前缀, 
    //如果同时配置了.env.development 和 .env.production , 
    //在开发环境下 baseURL 会替换为 '/api' , 
    //在生产环境下 baseURL 会替换为 http://cdf.yantianfeng.com/

    timeout: 10 * 1000 //超时时间
})

// 设置请求拦截器
service.interceptors.request.use((config) => {
    // 设置请求头
    config.headers['Authorization'] = "Bearer" + " " + localStorage.getItem('token');

    // 设置第二个请求头
    // //config.headers['X-token'] = localStorage.getItem('token');
    return config;
}, (error) => {
    return Promise.reject(error)
})

// 设置响应拦截器
service.interceptors.response.use((res) => {
    return res;
}, (error) => {
    // 处理错误状态码
    if (error.response.status == 401) {
        Toast.show({
            icon: 'fail',
            content: '身份认证失败,登陆过期,请重新登录!',
        })
        // Toast.fail({ message: "身份认证失败,登陆过期,请重新登录!" })
        // 移除本地存储中的请求头
        localStorage.removeItem('token');
        // 登录失效就跳转到登录页
        history.replace('/login', { from: history.location.pathname })
    }
    else if (error.response.status == 404) {
        Toast.show({
            icon: 'fail',
            content: '访问路径有误!',
        })
        // Toast.fail({ message: "访问路径有误!" })
    }
    else if (error.response.status == 500) {
        Toast.show({
            icon: 'fail',
            content: '服务器内部错误!',
        })
        // Toast.fail({ message: "服务器内部错误!" })
    }

})

export default service;